#!usr/bin/env python  
# -*- coding:utf-8 _*-
""" 
@author:robot
@file: string_keyword.py 
@version:
@time: 2022/05/12 
"""


class StringKeyword:
    @staticmethod
    def cross_target(source, target_list: list):
        return [f'{source}2{target}' for target in target_list]

    @staticmethod
    def cross_source(source_list: list, target):
        return [f'{source}2{target}' for source in source_list]

    Mysql = 'Mysql'
    Oracle = 'Oracle'
    MongoDB = 'MongoDB'
    DB2 = 'DB2'
    Postgres = 'Postgres'
    Sqlserver = 'Sqlserver'
    Gbase8s = 'Gbase8s'
    Gbase8a = 'Gbase8a'
    ActiveMQ = 'ActiveMQ'
    RabbitMQ = 'RabbitMQ'
    RocketMQ = 'RocketMQ'
    Sybase = 'Sybase'
    Gaussdb = 'GaussDB200'
    ES = 'ES'
    Redis = 'Redis'
    Kafka = 'Kafka'
    Mariadb = 'Mariadb'
    MysqlPXC = 'MysqlPXC'
    DM = 'DM'
    KINGBASER3 = 'KingBaseR3'
    KINGBASER6 = 'KingBaseR6'
    Hive = 'Hive'
    TCPIP = 'TCPIP'
    MQ = 'MQ'
    HBase = 'HBase'
    KUDU = 'KUDU'
    Greenplum = 'Greenplum'
    TiDB = 'TiDB'
    HANA = 'HANA'
    ClickHouse = 'ClickHouse'
    KunDB = 'KunDB'
    Vika = 'Vika'
    Doris = 'Doris'
    GridFS = 'GridFS'
    File = 'File'
    Dummy = 'Dummy'
    OceanBase = 'OceanBase'
    CustomConnection = 'CustomConnection'
    # mysql
    my2my = f'{Mysql}2{Mysql}'
    my2ora = f'{Mysql}2{Oracle}'
    my2mg = f'{Mysql}2{MongoDB}'
    my2pg = f'{Mysql}2{Postgres}'
    my2ms = f'{Mysql}2{Sqlserver}'
    my2gauss = f'{Mysql}2{Gaussdb}'
    my2mariadb = f'{Mysql}2{Mariadb}'
    my2gp = f'{Mysql}2{Greenplum}'
    my2tidb = f'{Mysql}2{TiDB}'
    my2kundb = f'{Mysql}2{KunDB}'
    my2es = f'{Mysql}2{ES}'
    my2kafka = f'{Mysql}2{Kafka}'
    my2db2 = f'{Mysql}2{DB2}'
    my2oc = f'{Mysql}2{OceanBase}'
    # oracle
    ora2my = f'{Oracle}2{Mysql}'
    ora2ora = f'{Oracle}2{Oracle}'
    ora2mg = f'{Oracle}2{MongoDB}'
    ora2pg = f'{Oracle}2{Postgres}'
    ora2ms = f'{Oracle}2{Sqlserver}'
    ora2gauss = f'{Oracle}2{Gaussdb}'
    ora2mariadb = f'{Oracle}2{Mariadb}'
    ora2gp = f'{Oracle}2{Greenplum}'
    ora2tidb = f'{Oracle}2{TiDB}'
    ora2kundb = f'{Oracle}2{KunDB}'
    ora2es = f'{Oracle}2{ES}'
    ora2kafka = f'{Oracle}2{Kafka}'
    ora2db2 = f'{Oracle}2{DB2}'
    ora2oc = f'{Oracle}2{OceanBase}'
    # mongodb
    mg2my = f'{MongoDB}2{Mysql}'
    mg2ora = f'{MongoDB}2{Oracle}'
    mg2mg = f'{MongoDB}2{MongoDB}'
    mg2pg = f'{MongoDB}2{Postgres}'
    mg2ms = f'{MongoDB}2{Sqlserver}'
    mg2gauss = f'{MongoDB}2{Gaussdb}'
    mg2mariadb = f'{MongoDB}2{Mariadb}'
    mg2gp = f'{MongoDB}2{Greenplum}'
    mg2tidb = f'{MongoDB}2{TiDB}'
    mg2kundb = f'{MongoDB}2{KunDB}'
    mg2es = f'{MongoDB}2{ES}'
    mg2kafka = f'{MongoDB}2{Kafka}'
    mg2db2 = f'{MongoDB}2{DB2}'
    mg2oc = f'{MongoDB}2{OceanBase}'
    # postgres
    pg2my = f'{Postgres}2{Mysql}'
    pg2ora = f'{Postgres}2{Oracle}'
    pg2mg = f'{Postgres}2{MongoDB}'
    pg2pg = f'{Postgres}2{Postgres}'
    pg2ms = f'{Postgres}2{Sqlserver}'
    pg2gauss = f'{Postgres}2{Gaussdb}'
    pg2mariadb = f'{Postgres}2{Mariadb}'
    pg2gp = f'{Postgres}2{Greenplum}'
    pg2tidb = f'{Postgres}2{TiDB}'
    pg2kundb = f'{Postgres}2{KunDB}'
    pg2es = f'{Postgres}2{ES}'
    pg2kafka = f'{Postgres}2{Kafka}'
    pg2db2 = f'{Postgres}2{DB2}'
    pg2oc = f'{Postgres}2{OceanBase}'
    # sqlserver
    ms2my = f'{Sqlserver}2{Mysql}'
    ms2ora = f'{Sqlserver}2{Oracle}'
    ms2mg = f'{Sqlserver}2{MongoDB}'
    ms2pg = f'{Sqlserver}2{Postgres}'
    ms2ms = f'{Sqlserver}2{Sqlserver}'
    ms2gauss = f'{Sqlserver}2{Gaussdb}'
    ms2mariadb = f'{Sqlserver}2{Mariadb}'
    ms2gp = f'{Sqlserver}2{Greenplum}'
    ms2tidb = f'{Sqlserver}2{TiDB}'
    ms2kundb = f'{Sqlserver}2{KunDB}'
    ms2es = f'{Sqlserver}2{ES}'
    ms2kafka = f'{Sqlserver}2{Kafka}'
    ms2db2 = f'{Sqlserver}2{DB2}'
    ms2oc = f'{Sqlserver}2{OceanBase}'
    # gaussdb
    gauss2my = f'{Gaussdb}2{Mysql}'
    gauss2ora = f'{Gaussdb}2{Oracle}'
    gauss2mg = f'{Gaussdb}2{MongoDB}'
    gauss2pg = f'{Gaussdb}2{Postgres}'
    gauss2ms = f'{Gaussdb}2{Sqlserver}'
    gauss2gauss = f'{Gaussdb}2{Gaussdb}'
    gauss2mariadb = f'{Gaussdb}2{Mariadb}'
    gauss2gp = f'{Gaussdb}2{Greenplum}'
    gauss2tidb = f'{Gaussdb}2{TiDB}'
    gauss2kundb = f'{Gaussdb}2{KunDB}'
    gauss2es = f'{Gaussdb}2{ES}'
    gauss2kafka = f'{Gaussdb}2{Kafka}'
    gauss2db2 = f'{Gaussdb}2{DB2}'
    gauss2oc = f'{Gaussdb}2{OceanBase}'
    # mariadb
    mariadb2my = f'{Mariadb}2{Mysql}'
    mariadb2ora = f'{Mariadb}2{Oracle}'
    mariadb2mg = f'{Mariadb}2{MongoDB}'
    mariadb2pg = f'{Mariadb}2{Postgres}'
    mariadb2ms = f'{Mariadb}2{Sqlserver}'
    mariadb2gauss = f'{Mariadb}2{Gaussdb}'
    mariadb2mariadb = f'{Mariadb}2{Mariadb}'
    mariadb2gp = f'{Mariadb}2{Greenplum}'
    mariadb2tidb = f'{Mariadb}2{TiDB}'
    mariadb2kundb = f'{Mariadb}2{KunDB}'
    mariadb2es = f'{Mariadb}2{ES}'
    mariadb2kafka = f'{Mariadb}2{Kafka}'
    mariadb2db2 = f'{Mariadb}2{DB2}'
    mariadb2oc = f'{Mariadb}2{OceanBase}'
    # greenplum
    gp2my = f'{Greenplum}2{Mysql}'
    gp2ora = f'{Greenplum}2{Oracle}'
    gp2mg = f'{Greenplum}2{MongoDB}'
    gp2pg = f'{Greenplum}2{Postgres}'
    gp2ms = f'{Greenplum}2{Sqlserver}'
    gp2gauss = f'{Greenplum}2{Gaussdb}'
    gp2mariadb = f'{Greenplum}2{Mariadb}'
    gp2gp = f'{Greenplum}2{Greenplum}'
    gp2tidb = f'{Greenplum}2{TiDB}'
    gp2kundb = f'{Greenplum}2{KunDB}'
    gp2es = f'{Greenplum}2{ES}'
    gp2kafka = f'{Greenplum}2{Kafka}'
    gp2db2 = f'{Greenplum}2{DB2}'
    gp2oc = f'{Greenplum}2{OceanBase}'
    # tidb
    tidb2my = f'{TiDB}2{Mysql}'
    tidb2ora = f'{TiDB}2{Oracle}'
    tidb2mg = f'{TiDB}2{MongoDB}'
    tidb2pg = f'{TiDB}2{Postgres}'
    tidb2ms = f'{TiDB}2{Sqlserver}'
    tidb2gauss = f'{TiDB}2{Gaussdb}'
    tidb2mariadb = f'{TiDB}2{Mariadb}'
    tidb2gp = f'{TiDB}2{Greenplum}'
    tidb2tidb = f'{TiDB}2{TiDB}'
    tidb2kundb = f'{TiDB}2{KunDB}'
    tidb2es = f'{TiDB}2{ES}'
    tidb2kafka = f'{TiDB}2{Kafka}'
    tidb2db2 = f'{TiDB}2{DB2}'
    tidb2oc = f'{TiDB}2{OceanBase}'
    # kundb
    kundb2my = f'{KunDB}2{Mysql}'
    kundb2ora = f'{KunDB}2{Oracle}'
    kundb2mg = f'{KunDB}2{MongoDB}'
    kundb2pg = f'{KunDB}2{Postgres}'
    kundb2ms = f'{KunDB}2{Sqlserver}'
    kundb2gauss = f'{KunDB}2{Gaussdb}'
    kundb2mariadb = f'{KunDB}2{Mariadb}'
    kundb2gp = f'{KunDB}2{Greenplum}'
    kundb2tidb = f'{KunDB}2{TiDB}'
    kundb2kundb = f'{KunDB}2{KunDB}'
    kundb2es = f'{KunDB}2{ES}'
    kundb2kafka = f'{KunDB}2{Kafka}'
    kundb2bd2 = f'{KunDB}2{DB2}'
    kundb2oc = f'{KunDB}2{OceanBase}'
    # kafka
    kafka2my = f'{Kafka}2{Mysql}'
    kafka2ora = f'{Kafka}2{Oracle}'
    kafka2mg = f'{Kafka}2{MongoDB}'
    kafka2pg = f'{Kafka}2{Postgres}'
    kafka2ms = f'{Kafka}2{Sqlserver}'
    kafka2gauss = f'{Kafka}2{Gaussdb}'
    kafka2mariadb = f'{Kafka}2{Mariadb}'
    kafka2gp = f'{Kafka}2{Greenplum}'
    kafka2tidb = f'{Kafka}2{TiDB}'
    kafka2kundb = f'{Kafka}2{KunDB}'
    kafka2es = f'{Kafka}2{ES}'
    kafka2kafka = f'{Kafka}2{Kafka}'
    kafka2oc = f'{Kafka}2{OceanBase}'
    # DB@
    db2my = f'{DB2}2{Mysql}'
    db2ora = f'{DB2}2{Oracle}'
    db2mg = f'{DB2}2{MongoDB}'
    db2pg = f'{DB2}2{Postgres}'
    db2ms = f'{DB2}2{Sqlserver}'
    db2gauss = f'{DB2}2{Gaussdb}'
    db2mariadb = f'{DB2}2{Mariadb}'
    db2gp = f'{DB2}2{Greenplum}'
    db2tidb = f'{DB2}2{TiDB}'
    db2kundb = f'{DB2}2{KunDB}'
    db2es = f'{DB2}2{ES}'
    db2kafka = f'{DB2}2{Kafka}'
    db2db2 = f'{DB2}2{DB2}'
    db2oc = f'{DB2}2{OceanBase}'
